package teste;

import java.util.Calendar;
import java.util.Date;
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import util.Datas;
import basicas.Funcionario;
import basicas.Reclamacao;
import basicas.Situacao;
import basicas.SituacaoReclamacao;
import basicas.TipoReclamacao;
import dados.generico.FuncionarioDAO;
import dados.generico.IFuncionarioDAO;
import dados.generico.IReclamacaoDAO;
import dados.generico.ITipoReclamacaoDAO;
import dados.generico.ReclamacaoDAO;
import dados.generico.TipoReclamacaoDAO;

public class Teste {

	public static void main(String[] args) {

		EntityManagerFactory emf = Persistence.createEntityManagerFactory("unitPSC");
		EntityManager em = emf.createEntityManager();
		
//		1)
//		A)		
		
//		ITipoReclamacaoDAO tipoReclamacaoDAO = new TipoReclamacaoDAO(em);
		
//		TipoReclamacao tipoReclamacao1 = new TipoReclamacao();
//		tipoReclamacao1.setCodigo(1);
//		tipoReclamacao1.setDescricao("Vazamento de água");
//		tipoReclamacao1.setSituacao(Situacao.ATIVO);
//		tipoReclamacao1.setAbreOrdemServico(true);
//		tipoReclamacao1.setExigeComprovacaoFoto(false);
//		tipoReclamacaoDAO.inserir(tipoReclamacao1);
		
//		TipoReclamacao tipoReclamacao2 = new TipoReclamacao();
//		tipoReclamacao2.setCodigo(2);
//		tipoReclamacao2.setDescricao("Semáforo defeituoso");
//		tipoReclamacao2.setSituacao(Situacao.ATIVO);
//		tipoReclamacao2.setAbreOrdemServico(true);
//		tipoReclamacao2.setExigeComprovacaoFoto(true);
//		tipoReclamacaoDAO.inserir(tipoReclamacao2);
		
//		B)
		
//		IReclamacaoDAO reclamacaoDAO = new ReclamacaoDAO(em);
		
//		Reclamacao reclamacao1 = new Reclamacao();
//		reclamacao1.setDescricaoOcorrencia("Vazamento a 2 horas");
//		reclamacao1.setLocalOcorrencia("Rua Barão Branco, 23");
//		reclamacao1.setSituacaoReclamacao(SituacaoReclamacao.PENDENTE);
//		reclamacao1.setTipoReclamacao(tipoReclamacao1);
//		Datas data = new Datas();
//		reclamacao1.setDataAbertura(data.criarData(02, 04, 2013));
//		reclamacao1.setQuantidadeReclamantes(12);
//		reclamacaoDAO.inserir(reclamacao1);
		
//		Reclamacao reclamacao2 = new Reclamacao();
//		reclamacao2.setDescricaoOcorrencia("Vazamento a 2 horas");
//		reclamacao2.setLocalOcorrencia("Rua Barão Branco, 23");
//		reclamacao2.setSituacaoReclamacao(SituacaoReclamacao.PENDENTE);
//		reclamacao2.setTipoReclamacao(tipoReclamacao2);
//		Datas data2 = new Datas();
//		reclamacao2.setDataAbertura(data2.criarData(05, 04, 2013));
//		reclamacao2.setQuantidadeReclamantes(4);
//		reclamacaoDAO.inserir(reclamacao2);
		
//		C)
		
		IFuncionarioDAO funcionarioDAO = new FuncionarioDAO(em);
		
//		Funcionario funcionario1 = new Funcionario();
//		funcionario1.setMatricula(1204);
//		funcionario1.setNome("Fábio Silva");
//		funcionario1.setTelefone("9023-1123");
//		funcionario1.setCpf("23012311049");
//		funcionarioDAO.inserir(funcionario1);
		
//		Funcionario funcionario2 = new Funcionario();
//		funcionario2.setMatricula(1205);
//		funcionario2.setNome("Milena Costa");
//		funcionario2.setTelefone("8820-3257");
//		funcionario2.setCpf("34022312754");
//		funcionarioDAO.inserir(funcionario2);
	}

}
